home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / amok_lha / amok59.lha / AmokEd_V1.02b / doc / AmokEd.dok next >
Text File  |  1993-08-15  |  39KB  |  929 lines

  1. ---------------------------------------------------------------------------
  2.  
  3.                              A m o k E d
  4.                          ===================
  5.  
  6.                              Version 1.02
  7.  
  8.                              01 Okt 1991
  9.  
  10. ---------------------------------------------------------------------------
  11.  
  12.  
  13.   AmokEd V1.2 © Copyright 1990,1991 Hartmut Goebel, Alle Recht vorbehalten
  14.  
  15.   Das gesamte Paket ist Freeware. Es darf beliebig oft kopiert und
  16.   weitergegeben werden, solange:
  17.  
  18.   · Das Paket vollständig und unverändert bleibt (Der Source-Code ist
  19.     optional, siehe auch Anmerkung unter Punkt 2: Umfang des Paketes)
  20.   · Mit der Weitergabe des Pakets in keiner Weise ein Gewinn erzielt wird
  21.   · Spenden sind willkommen
  22.  
  23.   Weitere Informationen siehe AmokEd.LiesMich.
  24.  
  25.   Hartmut Goebel                 Der Quelltext ist bei mir erhältlich:
  26.   Aufseßplatz 5                  einfach Disk mit ausreichend Rückporto
  27.   (W-)8500 Nürnberg 40           schicken.
  28.   Deutschland
  29.  
  30.   UseNet: htgoebel@faui09.informatik.uni-erlangen.de
  31.   Z-Netz: HARTMUT@ASN.zer
  32.   Fido:   2:246/12
  33.  
  34.   Mein Dank gilt:
  35.  
  36.   - Matthew Dillon: für seine genialen DME, aus dem ich viele Ideeen
  37.                     bezogen habe.
  38.   - Volker Rudolph: für seine zahlreichen Tips und die moralische
  39.                     Unterstützung
  40.   - Werner Speer:   für die Starthilfe in Form des ersten Kommando-Parsers
  41.   - Tobias Ruland:  für die Unterstützung in Sachen Assembler
  42.  
  43. ---------------------------------------------------------------------------
  44.  
  45. Vorläufige Dokumentaion!! Vollständig, wird noch einmal gründlich
  46. überarbeitet!
  47.  
  48. Inhalt
  49.  
  50.   I Einleitung
  51.     Instalation, Starten
  52.  II Befehlsfolgen
  53. III Tasten belegen
  54.  IV Das Verhalten bein Laden/speichern von Dateien
  55.   V Workbench Unterstützung
  56.  VI ARexx Unterstützung
  57. VII Der Application-Port
  58.  
  59.                        ----------------------
  60.                 ----------        I       ----------
  61.                 ----------   Einleitung   ----------
  62.                        ----------------------
  63.  
  64.  AmokEd ist ein frei programmierbarer Editor, der auf dem Konzept des
  65. bekannten DME vom Matthew Dillon basiert. Er verfügt über einige
  66. Fähigkeiten, die ihn zu einem noch mächtigen (Programmier-) Werkzeug
  67. machen. Hier ein kurzer Überblick:
  68.  
  69.  - eine reichhaltige Kommandosprache, deren Befehle sowohl direkt
  70.    eingegeben, als auch auf Tasten gelegt werden können. (Jede Taste
  71.    kann durch Qualifier und Maustasten mit 128 verschiedenen Macros
  72.    belegt werden.) Jede Tasten und Maus-Tasten Kombination ist
  73.    belegbar.
  74.  
  75.  - Eine ARexx-Schnittstelle ermöglicht eine noch vielfältigere
  76.    Programmierung von AmokEd durch externe Makros sowie die Steuerung
  77.    anderer Programme aus AmokEd heraus.
  78.  
  79.  - Ein spezieller 'ApplicationPort' - basierend auf ARexx - ermöglicht
  80.    sehr leicht anwendungsbezogene Erweiterungen, die den Editor selbst
  81.    nicht unnötig aufblähen sollen. Unterstützung der Compiler
  82.    Amiga-Oberon und M2Amiga sind in Vorbereitung.
  83.  
  84.  - Variablen ermöglichen eine fexible Macroprogrammierung (z.B. können
  85.    auch Macros in Variablen abgelegt werden), ENV:-Variablen werden
  86.    unterstützt.
  87.  
  88.  - Vom Benutzer definierbare Menüs, die mit allen Macros oder
  89.    Variablen belegt werden können.
  90.  
  91.  - schnelles Scrolling (ca. 40% schneller als original DME),
  92.    Scrollbalken und Scroll-Gadgets
  93.  
  94.  - In der Titel-Zeile jedes Fensters werden Daten über den Text
  95.    angezeigt: Filename, aktuelle Cursorposition im Text, ob das File
  96.    geändert wurde ...
  97.    Zukünftige Versionen werden auch anwenderspezifische Angaben
  98.    erlauben
  99.  
  100.  - mehrere Texte könne in verschiedenen Fenstern gleichzeitig
  101.    bearbeitet werden, Windows können 'iconified' werden.
  102.    Ab einer der nächten Versionen wird es möglich sein, einen Text in
  103.    mehreren Fenstern zu bearbeiten.
  104.  
  105.  
  106.  AmokEd wurde entwickelt, um einige Nachteile des DME zu beheben und
  107. diesen weiter zu entwickeln. Durch die Programmierung in der streng
  108. stukturierte Sprache Oberon ist er leicht zu erweitern. Dies wird
  109. durch den Application- Port noch weiter vereinfacht.
  110.  
  111.  AmokEd nimmt beliebig viele Filenamen als Argumente an. Diese Dateien
  112. werden gleich nach dem Programmstart automatisch geladen.
  113.  
  114.  Normalerweise führt AmokEd zu Beginn zwei Macro-Files aus: 'S:.aedrc'
  115. und '.aedrc' im aktuellen Verzeichnis. Diese Dateien brauche nicht
  116. existieren. Üblicherweise enthalten diese Dateien Tastaturbelegungen,
  117. Menü-Definitionen etc. und stellen verschiedene Dinge ein.
  118.  
  119. Installation
  120. ------------
  121.  
  122.  Falls Sie noch kein File 'S:.edrc' (z.B. von DME) haben, sollten Sie
  123. das beigefügte '.aedrc' in Ihr 'S:'-Directory kopieren.
  124.  Falls Sie Ihre '.edrc'- Files von DME übernehmen wollen, lesen Sie
  125. bitte die Hinweise in 'doc/von_DME.LiesMich', in der die wenigen
  126. vorzunehmenden Änderungen erklärt werden.
  127.  Kopieren Sie nun AmokEd einfach in ein Verzeichnis, das dem Suchpfad
  128. Ihrer Shell/CLI angehört.
  129.  
  130.  Fertig!
  131.  
  132.  Nach dem ersten Aufruf sollten Sie das Fenster auf die von Ihnen
  133. bevorzugte Größe und Position bringen und mit SAVECONFIG abspeichern.
  134. Den Befehl können Sie nach Druck aus die <ESC>-Taste in der
  135. Befehlszeile eingeben. <RETURN> - Fertig!
  136.  
  137. Starten
  138. -------
  139.  
  140.  AmokEd ist ganz einfach zu starten:
  141.    vom CLI: AmokEd [name] [name] ... [name]
  142.    von der WorkBench: einfach anklicken (Multiselect wird unterstützt)
  143.  
  144.  
  145.                    -------------------------
  146.               --------        II         ----------
  147.               --------   Befehlsfolgen   ----------
  148.                    -------------------------
  149.  
  150.  AmokEd verfügt über ein große Anzahl von Befehlen, die es
  151. ermöglichen, ihn flexibel zu programmieren und weitgehend an die
  152. Bedürfnisse des Benutzers anzupassen.
  153.  
  154.  Es können mehrere Befehle miteinander angegeben werden, oder auch in
  155. andere Befehle eingebetten werden.
  156.  
  157.  Ein Befehl besteht aus einem SCHLÜSSELWORT und einer _festen_ Anzahl
  158. von ARGUMENTEN (z.Zt. 0..2). Das Trennzeichen zwischen Argumenten ist
  159. das SPACE. Um Argumente zu übergeben, die ein Space enthalten, müssen
  160. diese in Klammern gesetzt werden. Bsp.: befehl (argument mit spaces).
  161. Anstelle der Klammern können auch die einfachen
  162. Anführungs-/Schlußzeichen (`') benutzt werden.
  163.  
  164.  TEXT, der ausgegeben werden soll, wird ebenfalls in Klammern bzw.
  165. Anführungs-/Schlußzeichen gesetzt.
  166.  
  167.  Befehle können in Groß- oder Kleinschreibung eingegeben werden,
  168. Argumente i.A. auch. Ausnahmen: Variablenname, Tastenbezeichnung
  169. (siehe dort) und auszugebender Text.
  170.  
  171.  Beispiele:
  172.    right right (Hallo) right right (Hallo) return
  173.    map f3 (up right) map f5 (down left)
  174.    map f10 ((Hallo))
  175.  
  176.  Nochmal - weil's wirklich wichtig ist:
  177.    Wenn ein Befehl EIN Argument erwartet, dann nimmt es auch nur ein
  178.    Argument. Alle übrigen Argumente werden für für (einen) weitere(n)
  179.    Befehl(e) gehalten. Also:
  180.  
  181.    map f5 right                   - `right' ist nur ein Wort, wir
  182.                                     brauchen keine Klammern
  183.  
  184.    map f5 (right right)           - wir wollen f4 mit zwei `right'
  185.                                     belegen, also brauchen wir die
  186.                                     Klammern, oder das zweite `right'
  187.                                     wird nicht aud die Taste gelegt
  188.  
  189.   map c-del `repeat cright del'  - ist bereits als REMEOL
  190.                                    implementiert, aber ein weiteres
  191.                                    Beispiel
  192.  
  193.  Einige Argumente werden ggf. mehrmals durch den Befehlsinterpreter
  194. geschickt. Der MAP-Befehl ist ein gutes Beispiel. Wenn der MAP-Befehl
  195. ausgeführt wird, wird beim ersten Lauf durch den Interpreter die Taste
  196. mit dem Tastentext ohne die äußersten Klammern belegt. Wenn die Taste
  197. gedrückt wird, wird dieser Text nocheinmal vom Interpreter analysiert.
  198. Darum muß Text, der ausgegeben werden soll, in doppelte Klammern
  199. eingeschloßen werden: ((text)). Einige komplexerer Befehlsfolgen:
  200.  
  201.   map f4 (right right (Hallo) wleft)  *RICHTIG*
  202.   map f4 right right (Hallo) wleft    *FALSCH*
  203.  
  204.   map f4 (map f4 ((Hallo)))  - wenn f4 das erste Mal gerückt wird,
  205.                                belegt sie sich selbst um auf die
  206.                                Ausgabe den Textes (Hallo)
  207.  
  208.   map c-i (repeat tr (( )))  - Beispiel, wie ein Space in MAP un
  209.                                REPEAT einzubetten ist (durchläuft den
  210.                                Befehls- interpreter dreimal!)
  211.  
  212.  Ein einfacher Weg, um mit Befehlsfolgen und/oder Tastaturbelegungen
  213. herum zu spielen, ist entweder die ESC-Taste (dadurch gelangt man in
  214. den Befehls- modus) oder a-S (alt-shift-s - dadurch wird die Zeile, in
  215. der der Cursor ist, ausgeführt) zu drücken ...
  216.  AmokEd kann also benutzt werden, um Ihre neuen Tastaturbelegungen zu
  217. ent- werfen und zu testen.
  218.  
  219.  
  220.            ----------   STRINGVARIABLEN   ----------
  221.  
  222.  Stringvariablen werden durch ihren Inhalt ersetzt.
  223.  Drei Eingabeformen sind erlaubt:
  224.  
  225.    $varname      - der Varablenname kann nur aus a-z,A-Z,0-9,_,-
  226.                    bestehen
  227.    $(varname)    - alle Zeichen außer `(' und `)' sind erlaubt
  228.    $`varname'    - alle Zeichen außer ``' und `'' sind erlaubt
  229.  
  230.  Es gibt einige spezielle Variablen:
  231.  
  232.    filename      - der aktuelle Filename
  233.    scanf         - der zuletzt geSCANFTe String (siehe SCANF unten)
  234.    rexxport      - der Name des AmokEd-ARexx-Port
  235.    findstr       - der aktuelle Suchstring
  236.    repstr        - der aktuelle Ersatzstring
  237.    lineno        - die aktuelle Zeilennummer (1..n)
  238.    colno         - die aktuelle Spaltennummer (1..n)
  239.  
  240.  Andere Variablen werden nach folgendem Schema gesucht:
  241.  
  242.  (1) Interne Variablen (siehe SET, UNSET). Interne Variablen beachten
  243.      die Groß-/Kleinschreibung (case sensitiv).
  244.  (2) Enviroment-Variblen (siehe SETENV, UNSETENV). Enviroment-
  245.      Variablen sind NICHT case sensitiv. ENV: der WB1.3 wird benutzt.
  246.  (3) AmokEd-Tastaturbelegungen oder -Menüdefinitionen. Dies ermöglicht
  247.      es, etwas wie $sa-tab anzugeben um die Belegung der Taste
  248.      shift-alt-tab einzufügen (siehe MAP, UNMAP und Menü-Befehle).
  249.  
  250.  Die anderen beiden Formen erlauben es, ungewöhnliche Varibalennamen
  251. zu vergeben - mit Punkten oder andern Zeug.
  252.  
  253.  ANMERKUNG: Was ist an folgenden Befehl falsch?
  254.  
  255.    repeat 100 (first ($myvar))
  256.  
  257.  Falsch ist, daß $myvar eingesetzt wird, BEVOR der Repeat ausgeführt
  258. wird. $myvar könnte Zeichen enthalten, die die Befehlsbeschreibung
  259. durcheinander bringen könnten. Wenn $myvar z.B. ein `(' enthält, kommt
  260. etwas heraus wie `repeat 100 (first (()), was offensichtlich falsch
  261. ist. Durch die Benutzung von `\' kann dies vermieden werden.
  262.  
  263.    repeat 100 (first (\$myvar))   - $myvar wird eingesetzt, wenn die
  264.                                     Schleife ausgeführt wird, und
  265.                                     nicht vorher
  266.  
  267.  Solche Probleme können auch auftreten, wenn Sie Tasten belegen...
  268. Wahrscheinlich wollen Sie die Variable nicht in dem Moment eingesetzt
  269. bekommen, wenn Sie die Taste belegen, sondern wenn die Belegung
  270. ausgeführt wird.
  271.  
  272.  Andererseits ist das durchaus erlaubt:
  273.  
  274.    set x (tlate +1)
  275.    repeat 100 ($x)
  276.  
  277.  Der Befehl `(tlate +1)' wird 100mal ausgeführt...
  278.  Würde die Variable nicht mit Klammern umschloßen (abhängig vom
  279. Zusammemhang), würde die Variable ausgeführt, und nicht als Text
  280. ausgegeben.
  281.  
  282.             --------   SPEZIELLE ZEICHEN   ---------
  283.  
  284. `^' wird benutzt, um ein Steuerzeichen einzuleiten.
  285.     Bsp.: ^c entspricht control-c (ASCII-Wert 03)
  286.     Es ist nicht möglich, ^@ (ASCII-Wert 00) anzugeben, da dieses
  287.     Zeichen intern das Zeilenende markiert.
  288.  
  289. `\' Der `Backslash' überschreibt die spezielle Bedeutung des nächsten
  290.     Zeichens.
  291.     Bsp.: map c-a ((^l))    - belegt ctrl-a mit ASCII-Wert 0C
  292.           map c-a ((\\\^l)) - belegt ctrl-a mit `^l'
  293.                               Das erste `\' überschreibt das zweite,
  294.                               das dritte das `^'. Die Taste ist dann
  295.                               mit `\^l' belegt.
  296.  
  297.  
  298.             ---------   BEFEHLS LISTE   ---------
  299.  
  300. #                -Rest der Zeile ist Kommentar (für Skript-Files)
  301. (text)           -gibt Text aus, als wäre er direkt eingegeben
  302. taste            -führt Tastaturbelegung als Makro aus (Bsp.: c-a)
  303. header-item      -führt einen Menüpunkt als Makro aus (Bsp.: Project-Save)
  304.                   (case indepentant (?))
  305. ABORT            -bricht Makroausführung ab
  306. APPL             -rufe Application auf (siehe VII. `Application'-Port)
  307. APPLCLOSE        -beendee Application  (siehe VII. `Application'-Port)
  308. ARPBSAVE         -BSAVE   FileRequester \
  309. ARPINSFILE       -INSFILE FileRequester  | wenn ARP-/ASL-Lib installiert
  310. ARPLOAD          -NEWFILE FileRequester  |
  311. ARPSAVE          -SAVEAS  FileRequester /
  312. BACK             -identisch mit BS
  313. BACKTAB          -Tabulatorsprung rückwärts
  314. BCOPY            -kopiere Block vor die Cursorzeile
  315. BDELETE          -lösche den Block aus dem Text
  316. BLOCK            -markiere Anfang/Ende des Blocks
  317. BMOVE            -verschiebe den Block vor die Cursorzeile
  318. BOTTOM           -springe zum Textende
  319. BS               -`backspace' (lösche Zeichen links vom Cursor)
  320. BSAVE file       -speichere den Block in <file>
  321. BSOURCE          -`source' Block wie ein Skript-File
  322. CD dir           -setze aktuelle Verzeichnis des Textes auf <dir>
  323. CHFILENAME <name>-ändere den Namen des bearbeiteten Files
  324. CLEARMAP         -lösche Benutzer-Tastaturbelegung und stelle System-
  325.                   Belegung her
  326. DEL              -`delete' (lösche Zeichen unterm Cursor)
  327. DELINE           -lösche Zeile (siehe UNDELINE)
  328. DOWN             -Cursor runter
  329. DOWNADD          -Cursor runter; wenn am Textende, füge Zeile an
  330. ESC              -schalte Befehlseingabezeile ein/aus
  331. ESCIMM arg       -schalte Befehlseingabezeile ein und zeige dort <arg> als
  332.                   vordefinierte Eingabe
  333. EXECUTE comm     -führe CLI-Befehl aus
  334. FIND string      -setze Suchstring und führe ein NEXT aus
  335. FINDR fstr rstr  -setze Such/Ersatzstring und führe ein NEXTR aus
  336. FINDSTR          -setze Suchsting
  337. FIRST            -spring zu Spalte 1
  338. FIRSTNB          -springe zum ersten Nicht-Space-Zeichen in der Zeile
  339. GOTO BLOCK       -springe zum Anfang des markierten Blocks, bzw. Textanfang
  340. GOTO END         -springe zum Ende des markierten Blocks, bzw. nicht
  341. GOTO START       -identisch mit GOTO BLOCK
  342. GOTO [+/-]n      -springe zur absolut/relativ angegebeben Zeile
  343. HEIGHT n         -setze die Höhe in Pixels für alle weitern neuen Fenster
  344. ICONIFY          -`iconify' das Fenster (siehe unten)
  345. IF cnd act       -IF/WHILE/IFELSE .. (siehe unten)
  346. IFELSE cnd ifact elseact -(siehe unten)
  347. INSERT text      -fügt <text> ein, unabhängig von InsertMode
  348. INSFILE file     -füge <file> in den Text ein
  349. INSLINE          -füge Zeile über der Cursorzeile ein
  350. JOIN             -verbinde ächste Zeile mit dieser
  351. LAST             -springe hinter letztes Nicht-Space-Zeichen der Zeile
  352. LEFT             -Cursor links
  353. LEFTEDGE n       -setze die linke Kante in Pixels für alle neuen Fenster
  354. MAP key map      -belege Taste <key> mit <map>
  355. MARGIN n         -setze rechten Rand für WordWrap und Reformat (siehe dort)
  356. MENUADD hdr item cmd  -füge Menüpunkt an
  357. MENUCLEAR             -lösche das ganze Menü
  358. MENUDEL hdr item      -lösche eine Menüpunkt
  359. MENUDELHDR hdr        -lösche ein Untermenü
  360. MENUOFF               -schalte Menü aus (mehrfache Aufrufe werden gestapelt)
  361. MENUON                -schalte Menü ein (mehrfache Aufrufe werden gestapelt)
  362. MULTIREPLACE f s      -interactives Suchen und Ersetzen
  363. MYPRI n          -setze Task-Priorität auf n (-128<=n<=127)
  364. NEWFILE file     -ersetzt aktuelle Text durch das neue <file>
  365. NEWWINDOW        -öffne ein neues Editor-Fenster
  366. NEXT             -suche die nächste Stelle, an der der Suchstring auftritt
  367. NEXTR            -suche nächstes Auftreten und ersetze
  368. NULL             -mache nichts
  369. OVERWRITE text   -schreibt <text> über vorhandenen, unabhängig von InsertMode
  370. PAGEDOWN         -blättere eine Seite abwärts (siehe PAGESET)
  371. PAGESET n        -setze Seitengröße für PAGEUP/DOWN auf n Prozent Fenstergröße
  372. PAGEUP           -blättere eine Seite aufwärts (siehe PAGESET)
  373. PING n           -setze Textmarkierung (0-9)
  374. PONG n           -springe zu eine vorher gesetzten Textmarkierung (0-9) *)
  375. POPMARK          -hole Markierung von Stapel und zeige den markierten Block
  376. PURGEMARK        -lösche den Stapel der Blockmarkierungen
  377. PUSHMARK         -lege markierten Block auf den Stapel und lösche Markierung
  378. QUIT             -beende
  379. RECALL           -gehe in Befehlszeile und zeige den zuletzt eingegebenen
  380.                   Befehl an. Muß auf eine Taste gelegt sein (c-esc).
  381. REMEOL           -lösche Text unter und rechts vom Cursor
  382. REPEAT cnd comm  -siehe unten
  383. REPSTR string    -setzte Ersatzstring
  384. RESETTOGGLE toggle -lösche Kippschalter (siehe unten)
  385. RESIZE cols rows -ändere Größe des aktuellen Fensters (Bsp.: resize 70 23)
  386. RETURN           -identisch mit (FIRST DOWNADD)
  387. RIGHT            -Cursor rechts
  388. RX               -rufe ARexx-Makro, kein Argument  (RX makroname) (s. unten)
  389. RX1              -rufe ARexx-Makro, ein  Argument  (RX makroname arg)
  390. RX2              -rufe ARexx-Makro, zwei Argumente (RX makroname arg1 arg2)
  391. RXS              -rufe ARexx-Befehlsfolge direkt auf
  392. SAVEAS file      -speichere aktuellen Text als <file>
  393. SAVECONFIG       -speichere Standard-Einstellungen
  394. SAVEMAP file     -speichere Benutzer-Tastaturbelegung in <file>
  395. SAVEOLD          -speichere aktuellen Text unter seinen Namen
  396. SAVESMAP file    -speichere alle Tastaturbelegungen incl. Systembelegung
  397. SCANF ctlstr     -scan den String an der Curorposition (siehe unten)
  398. SCREENBOTTOM     -setze Cursor in die letzte Zeile des Fensters
  399. SCREENTOP        -setze Cursor in die erste Zeile des Fenstern
  400. SCROLLDOWN       -rolle Text eine Zeile nach oben, ohne Cursor zu bewegen
  401. SCROLLUP         -rolle Text eine Zeile nach unten, ohne Cursor zu bewegen
  402. SET var str      -erzeuge/ändere eine interne Variable
  403. SETENV var str   -erzeuge/ändere eine Umgebungs-Variable (WB1.3 ENV:)
  404. SETFONT font size-setze den Font des Fensters (Bsp.: setfont topaz.font 11)
  405. SETTOGGLE toggle -setze Kippschalter (siehe unten)
  406. SOURCE file      -`source' ein Skript-File
  407. SPLIT            -spalte die Zeile an der Cursorposition
  408. SWAPMARK         -PUSHMARK, tausche obere 2 Markierungen auf Stapel, POPMARK
  409. TAB              -Tabulatorsprung vorwärts
  410. TABSTOP n        -setze Tabulatorstop alle n Zeichen
  411. TITLE string     -zeige <string> in der Titelzeile des Fensters
  412. TLATE [+/-]n     -gib Zeichen unter dem Cursor ASC-Wert n (absolut/relativ)
  413. TMPHEIGHT n      -setze Höhe in Pixels nur für das nächste neue Fenster
  414. TMPWIDTH n       -setze Breite in Pixels nur für das nächste neue Fenster
  415. TOGGLE toggle    -schalte Kippschalter um (siehe unten)
  416. TOMOUSE          -bewege den Cursor zur Mausposition
  417. TOP              -springe zum Textanfang
  418. TOPEDGE n        -setze die Oberkante in Pixels für alle neuen Fenster
  419. UNBLOCK          -lösche aktuelle Blockmarkierung
  420. UNDELINE         -holt die zuletzt mit DELINE gelöschte Zeile zurück
  421. UNDO             -mache Anderungen in der aktuelle Zeile rückgängig (muß auf
  422.                   eine Taste gelegt werden, damit's funktioniert)
  423. UNMAP key        -lösche Belegung der Taste <key>
  424. UNSET var        -lösche interne Variable
  425. UNSETENV var     -löschen Umgebungs-Variable (WB1.3 ENV:)
  426. UP               -Cursor hoch
  427. WHILE cnd act    -(siehe unten)
  428. WIDTH n          -setze die Breite in Pixels für alle weitern neuen Fenster
  429. WLEFT            -gehe an den Anfang des vorherigen Worts; wenn innerhalb
  430.                   eines Wortes, dann an den Anfang diese Wortes
  431. WRIGHT           -gehe an den Anfang des nächsten Worts
  432.  
  433. *) PONG springt auch in ein anderes Textfenster. Wenn Sie ein Tool ein-
  434.    setzten, das das Fenster unter der Maus aktiviert (z.B. DMouse),
  435.    funktioniert dies nicht mit dem gewünschten Effekt.
  436.  
  437.  
  438.  ---------- Weitere Inforamtionen zu kompizierteren Befehlen ------------
  439.  
  440. MENUOFF/ON    - Diese Befehle schalten das Menü ein bzw. aus.
  441.                  Für Leute, die eine Menge MENUADD in ihrer `.aedrc'
  442.                 haben, ist es gut zu wissen, daß MENUADD wesendlich
  443.                 schneller arbeitet, wenn das Menü vorher ausgeschaltet
  444.                 wird. (Danach natürlich wieder einschalten!)
  445.                  Die Aufrufe sind stapelbar. D.h. wenn Sie MENUOFF,
  446.                 sagen wir, zweimal aufrufen, dann benötigen Sie auch
  447.                 zwei MENUON, um das Menü wieher einzuschalten.
  448.                 Andersrum funktioniert's natürlich nicht :-)
  449.  
  450. SCANF cltstr  -  Dieser Befehl ist gleichbedeutend mit der C-Funktion
  451.                 scanf().
  452.                  Es werden jedoch nur Strings gescannt.
  453.  
  454. REPEAT n arg  -  Wiederhole <arg> n-mal
  455.                  Außer einer Nummer kann n folgendes sein:
  456.  
  457.                   line    aktuelle Zeilennummer (Zeilen beginnen bei 1)
  458.                   lbot    Anzahl Zeilen zum Textende, mit der Cursorzeile
  459.                   cleft   Spaltennummer (Spalten beginnen bei 0)
  460.                   cright  Anzahl Zeichen bis zum Zeilenende (EOL),
  461.                           incl. Zeichen unterm Cursor
  462.                   tr      Anzahl Zeichen zum nächsten Tabulatorstop
  463.                   tl      Anzahl Zeichen zum vorherigen Tabulatorstop
  464.  
  465.                  Verschiedene Befehle können die Repeat-Schleife
  466.                 abbrechen: Jeder FIND[R], NEXT[R], PREV[R], in dem der
  467.                 Suchstring nicht gefunden wird, bricht die Schleife
  468.                 (und das Makro) ab. Das Selbe geschieht, bei Befehlen
  469.                 über die Textgrenzen hinaus gehen konnen (z.B. UP,
  470.                 DOWN, LEFT, RIGHT ...).
  471.                  Natürlich beendet auch ABORT das Makro.
  472.  
  473.                  Wenn Sie -1 als n angeben, so wird der REPEAT ewig
  474.                 ausge- führt (genau genommen $7FFFFFFF-mal, was
  475.                 eigentlich reichen müßte), oder bis zu einem Abbruch.
  476.  
  477.              Bsp.: Suchen/Ersetzten im ganzen Text
  478.  
  479.                map c-R (escimm (findstr ) escimm (repstr ) repeat -1 nextr)
  480.  
  481. IF [!]bedingung arg
  482. WHILE [!]bedingung arg
  483. IFELSE [!]bedingung ifarg elsearg
  484.  
  485.               -  Wenn die angegebenen Bedingung erfüllt ist, führe das
  486.                 Argument aus. Bei IFELSE ansonsten das Else-Argument.
  487.                 Bei WHILE wird das Argument solange ausgeführt,
  488.                 solange die Bedingung erfüllt ist. (Vorsicht!)
  489.  
  490.                  Ein ggf. vorangestelltes `!' invertiert die Logik.
  491.  
  492.                  Bedingungen:
  493.  
  494.                 [i]#    Kippschalter [i]# gesetzt (siehe unten)
  495.                 t       Cursor in Zeile 1
  496.                 b       Cursor in der letzten Zeile
  497.                 l       Cursor in Spalte 0
  498.                 r       Cursor am Zeilenende (Space darunter und dahinter)
  499.                 m       Text wurde geändert (modified)
  500.                 i       Einfügemodus eingeschaltet (insertmode on)
  501.                 x[<=>]# Cursor in Spalte # (beginnen mit 1) *)
  502.                 y[<=>]# Cursor in Zeile # (beginnen mit 1)  *)
  503.                 cl      Zeichen unter Cursor ist Kleinbuchstabe (`a'..`z')
  504.                 cu      Zeichen unter Cursor ist Großbuchstabe (`A'..`Z')
  505.                 ca      Zeichen unter Cursor ist alpha-numerisch
  506.                         (`a'..`z', `A'..`Z',`0'..`9', `_', 192..255)
  507.                 cn      Zeichen unter Cursor ist Ziffer
  508.                 c[<=>]# Zeichen unter Cursor hat ASCII-Wert # *)
  509.                 cb      Curosr ist innerhalb des markierten Blocks
  510.  
  511.                 *) eines oder eine Kombination der Zeichen `<', `=', `>',
  512.                    gefolgt von einer Dezimalzahl. Bsp.: y=>23
  513.  
  514.                    if c<32  .. Zeichen unterm Cursor ist kleiner als 32
  515.                    if c<>32 .. Zeichen unterm Cursor ist ungleich 32
  516.                    if !c=32 .. dito
  517.                    while !b down
  518.  
  519.                 Bsp.: simulieren eines Einfügemodes-Kippschalters
  520.                       (muß natürlich in einer Zeile eingegeben werden)
  521.  
  522.                    map a-i (ifelse 0 (toggle 0 settoggle insertmode)
  523.                                      (toggle 0 resettoggle insertmode))
  524.  
  525.                 Bsp.: solange Kleinbuchstabe: mache groß, gehe nach rechts
  526.  
  527.                    map c-U (while cl (tlate -32 right)
  528.  
  529. ICONIFY       -  Dies ist eine besondere Fähigkeit des AmokEd:
  530.                  Das Textfenster wird auf die Titelzeile reduziert.
  531.                 Dadurch behalten Sie auch bei vielen Fenstern noch den
  532.                 Überblick.
  533.                 · merkt sich alte Fenstergröße und -position
  534.                 · merkt sich die Position des `iconified'-Fensters für
  535.                   weitere `iconify'
  536.  
  537.                  Momentan stürtzt der Computer ab, wenn kein Speicher
  538.                 vorhanden ist und AmokEd das Icon- oder das normale
  539.                 Fenster nicht öffnen kann. Seien Sie also Vorsichtig!
  540.                 Abhilfe wird aber bald geschaffen!
  541.  
  542. TOGGLE toggle
  543. SETTOGGLE toggle
  544. RESETTOGGLE toggle
  545.  
  546.               - Mir diesen Befehlen werden Kippschalter (toggles)
  547.                 geschaltet.
  548.  
  549.                  Es gibt 256 globale Toggles, die im gesammtem AmokEd
  550.                 Gültigkeit haben, sowie für jeden Text 15 texteigene
  551.                 Toggles. Zudem gibt es einige spezielle Toggles, die
  552.                 z.B. den Einfügemodus schalten.
  553.  
  554.                 Im Einzelnen gibt es folgende Togglen:
  555.  
  556.                 i0..i15      texteigener Toggles (ein `i' wird vorangestellt)
  557.                 0..255       globaler Toggle
  558.                 wordwrap     automatischer Zeilenumbruch  +) *)
  559.                 insertmode   Einfügemodus +)
  560.                 savetab      File mit Tabs abspeichern (siehe unten) +)
  561.                 autoindent   automatisches Einrücken  +) *)
  562.                 numlock      NumLock für Zehnerblock
  563.                 ignorecase   Suchen unabhängig von Groß-/Kleinschreibung
  564.  
  565.                  +) diese Toggles sind ebenfalls texteigen
  566.                  *) dieser Toggle ist momentan leider noch ohne Wirkung
  567.  
  568.  
  569.                      --------------------------
  570.               ----------       III          ----------
  571.               ----------   Tasten belegen   -----------
  572.                      --------------------------
  573.  
  574.  In Abschnitt II haben wir gesehen, wie AmokEd zu programmieren ist
  575. (ja, ich denke `programmiernen' ist der richitge Ausdruck.
  576.  Richtig interessant wird es jedoch erst, wenn man die Markros auf
  577. Tasten legt. Dies können Sie auf drei Arten tun:
  578.  
  579.  1. Für Ihre Standardbelegung erstellen Sie am besten ein `.aedrc',
  580.     das die gewünschten Tastaturbelegungen, die Menudefinitionen etc.
  581.     ent- hält.
  582.  2. Wenn Sie während der laufenden Arbeit mit AmokEd Tasten belegen
  583.     wollen, weil Sie z.B. den Text `Rübennase' oft benötigen, geben
  584.     Sie den MAP-Befehl einfach in der Befehlszeile ein.
  585.  
  586.  3. Wollen Sie die neue Makrodefinition zudem in Ihre `.aedrc'
  587.     aufnehmen, so geben Sie sie dort ein, und führen die neue Zeile
  588.     mit der Tasten- kombination `a-S' aus. Abspeichern, fertig!
  589.  
  590. TASTATUR
  591.  
  592.  Bei AmokEd ist, anders als bei vielen Text-Editoren, JEDE Taste der
  593. Amiga- Tastatur belegbar, egal ob mit oder ohne `Qualifier'. Qualifier
  594. sind hier Tasten wie Shift, Ctrl, Amiga, aber auch die Maustasten.
  595.  Es hat sich eigentlich nur aus der Gewohnheit heraus ergeben, daß
  596. z.B. die <Return>-Taste ein RETURN ausführt und die <Up>-Taste ein UP
  597. etc. Aber Sie können _alle_ Tasten auch völlig anders belegen.
  598.  
  599.  Die Tasten werden nach ihrer Aufschrift benannt, mit einigen Ausnahmen:
  600.  
  601.  · `Rückschritt' (Backspace) heißt `BS'.
  602.  · den Tasten des Zehnerblocks wird `NK' verangestellt, außer bei der
  603.    `Enter'-Taste, die heißt `ENTER'.
  604.  · Die vier Cursor-Tasten heißen `UP', `DOWN', `LEFT' und `RIGHT'.
  605.  
  606.  
  607.  Tasten belegen
  608.  
  609.  Tasten werden mit dme MAP-Befehl belegt (siehe oben).
  610.  <key> entspricht dabei folgender Syntax:
  611.  
  612.    [qual-]<taste>   qual: eine Kombination aus den Qualifer-
  613.                           Kennungen, gefolgt von einem Bindestrich `-'
  614.                    taste: Tastenaudschrift bzw. -name
  615.  
  616.   Qualifier: `a'   ALT
  617.              `s'   SHIFT
  618.              `c'   CTRL
  619.              `A'   AMIGA
  620.              `L', `M', `R'  Maustasten
  621.  
  622.   --- Beispiele ---
  623.  
  624.     tab      tab
  625.     -tab     tab
  626.     a-a      ALT a
  627.     A-a      AMIGA a
  628.     sA-a     SHIFT AMIGA a
  629.     s-tab    SHIFT tab
  630.     c-tab    CTRL tab
  631.     ac-?     ALT-CTRL ?
  632.     s-f5     SHIFT F5
  633.     nk0      Zehnerblock 0
  634.     cs-nk0   CTRL SHIFT Zehnerblock 0
  635.     s-.      SHIFT . (':' auf deutschen Tastaturen)
  636.     L-f10    LINKE MAUSTASTE f10
  637.     L-lmb    Linke Maustaste gedrückt
  638.     L-mmove  Maus bewegt mit gedrückter linker Maustaste
  639.     LR-lmb   Linke Maustaste gedrückt, während rechte Maustaste
  640.              gedrückt bleibt
  641.  
  642.   -----------------
  643.  
  644. MAUSTASTEN
  645.  
  646.  Auch die Tasten der Maus können belegt werden,
  647.  
  648.    Die drei Maustasten heißen `LMB', `MMB', `RMB'.
  649.  
  650.    Die Standardbelegung ist folgende:
  651.  
  652.    linker  Knopf: Setze den Cursor an die Mausposition (TOMOUSE)
  653.    rechter Knopf: `iconify' Fenster (ICONIFY), nur wenn Menü aus ist
  654.  
  655.    Linken Knopf gedrückt halten, während die Maus bewegt wird, zieht
  656.    den Cusor mit.
  657.  
  658.  
  659. Maustasten belegen
  660.  
  661.     Die Maustasten dienen sowohl als Qualifier (siehe oben), als auch
  662.    als Tasten.
  663.     Dadurch können sie eine Taste belegen, die eine gedrückte
  664.    Maustaste er- fordert
  665.  
  666.      map  L-a    ((Linke Maustaste und `a'))
  667.  
  668.    genause, wie die Maustasten selbst
  669.  
  670.      map  L-lmb  ((Linke Maustaste als Taste))
  671.  
  672.     Beachten Sie, daß hierzu der Qulifier <Linke Maustaste> `L' und
  673.    die linke Maustaste selber `lmb' angegeben werden müssen.
  674.  
  675.    Wenn Sie eine Maustaste selbst und diese Maustaste als Qualifier belegten,
  676.  
  677.      map L-lmb (tomouse)
  678.      map L-a   ((Hallo))
  679.  
  680.   beachten Sie bitte, daß die erste Belegung immer dann ausgeführt
  681.   wird, auch wenn Sie L-a ansprechen möchten: BEIDE Belegungen würde
  682.   ausgeführt!
  683.    Um Verwirrungen zu vermeiden, sollten Sie die Standardbelegung der
  684.   rechte Maustaste (belegt mit ICONIFY) löschen (UNMAP), wenn sie
  685.   diese als Qualifier benutzten wollen.
  686.  
  687.    Die MAUSBEWEGUNG wird belegt, indem Sie eine oder mehrere der
  688.   Maus-Qualifier (`L', `M', `R') und als Taste `mmove' angeben. Also
  689.   so:
  690.  
  691.       map L-mmove ((Maus bewegt mit gedrückter linker Maustaste))
  692.       map LR-lmb  ((Linke Maustaste drückt, rechte Maustaste bleibt gedrückt))
  693.  
  694.   Wie wäre es damit: Die Zeichen under dem Cursor in Großbuchstaben
  695.                      wandeln, solange die Mause bewegt wird?
  696.  
  697.      map LR-mmove (tomouse if cl (tlate -32))
  698.  
  699.  
  700. HINWEISE
  701.  
  702.    Die normale Amiga-Maus hat nur zwei Tasten, eine linke und eine
  703.   rechte (LMB, RMB - logisch!). Eine ggf. angeschloßenen
  704.   Drei-Tasten-Maus wird auch unterstützt.
  705.  
  706.    Jede Taste kann mit einer Kombination aus Shift, Alt, Ctrl, Amiga
  707.   und den Maustasten (oder gar keiner) bestimmt werden. Mit diesen
  708.   sechs Qualifiern (sieben bei Drei-Tasten-Maus) konnen jeder Taste
  709.   bis zu 64 (128) Belegungen zugewiesen werden.
  710.  
  711.    Die CAPS-LOCK-Taste, wenn sie leuchtet, ist für Alpha-Tasten
  712.   gleichbedeutend mit <Shift>.
  713.  
  714.    Die Kombination Alt-Amiga (aA) ist nicht sehr brauchbar, da
  715.   Intuition sie Mause-SELECT interpretiert. Andere Amiga-Konbinationen
  716.   werden von Intuition für Mausbewegung und andere Dinge benutzt.
  717.   Einige andere Qulifier-Kombi- nationen können wegen einer speziellen
  718.   Bedeutung auch unbrauchbar sein.
  719.  
  720.  
  721. Die Standardbelegung
  722.  
  723.    Alle druckbaren Ascii-Tasten sind mit ihrem Ascii-Equiavlent
  724.   belegt. BS, DEL, UP, DOWN, LEFT, RIGHT, TAB, S-TAB, und ENTER sind
  725.   korrekt belegt. Und das ist die Standardbelegung:
  726.  
  727.     map (a-c)       (bcopy)
  728.     map (a-d)       (bdelete)
  729.     map (a-down)    (scrolldown)
  730.     map (a-l)       (while cu (tlate +32 right))
  731.     map (a-m)       (bmove)
  732.     map (a-r)       (nextr)
  733.     map (a-s)       (bsource)
  734.     map (a-u)       (while cl (tlate -32 right))
  735.     map (a-up)      (scrollup)
  736.     map (bs)        (bs)
  737.     map (c-/)       (escimm (find ))
  738.     map (c-])       (ref)
  739.     map (c-[)       (ctags)
  740.     map (c-1)       (goto block)
  741.     map (c-b)       (block)
  742.     map (c-c)       ()
  743.     map (c-del)     (remeol)
  744.     map (c-down)    (pagedown)
  745.     map (c-esc)     (recall)
  746.     map (c-f)       (reformat)
  747.     map (c-g)       (escimm (goto ))
  748.     map (c-i)       (insertmode on)
  749.     map (c-j)       (join)
  750.     map (c-l)       (wleft)
  751.     map (c-n)       (next)
  752.     map (c-o)       (insertmode off)
  753.     map (c-p)       (prev)
  754.     map (c-q)       (quit)
  755.     map (c-r)       (wright)
  756.     map (c-s)       (split first down)
  757.     map (c-u)       (unblock)
  758.     map (c-up)      (pageup)
  759.     map (c-w)       (wordwrap toggle)
  760.     map (del)       (del)
  761.     map (down)      (down)
  762.     map (enter)     (return)
  763.     map (esc)       (esc)
  764.     map (f1)        (escimm (insfile ))
  765.     map (f10)       (saveold quit)
  766.     map (f2)        (escimm (newfile ))
  767.     map (f3)        (escimm (newwindow newfile ))
  768.     map (f6)        (saveold iconify)
  769.     map (f7)        (escimm (bsave ))
  770.     map (f8)        (saveold escimm (newfile ))
  771.     map (f9)        (saveold)
  772.     map (L-lmb)     (tomouse)
  773.     map (L-mmo)     (tomouse)
  774.     map (left)      (left)
  775.     map (R-rmb)     (iconify)
  776.     map (return)    (return insline up firstnb down)
  777.     map (right)     (right)
  778.     map (s- )       (( ))
  779.     map (s-del)     (deline)
  780.     map (s-down)    (bottom)
  781.     map (s-left)    (first)
  782.     map (s-right)   (last)
  783.     map (s-tab)     (backtab)
  784.     map (s-up)      (top)
  785.     map (sa-s)      (unblock block block bsource)
  786.     map (tab)       (tab)
  787.     map (up)        (up)
  788.     map `a-)'       (`:-)')    ein Standard-Smily
  789.  
  790.  
  791.                   -------------------------------
  792.            ----------          VI             ----------
  793.            ----------   ARexx Unterstützung   ----------
  794.                   -------------------------------
  795.  
  796.  Sie haben von ARexx vollen Zugriff auf alle Funktionen von AmokEd.
  797.  In zukünftigen Versionen wird es zudem einige Befehle geben, die Sie
  798. nur von ARexx oder einem ARexx-Programm nutzen können (z.B.
  799. Rückgabewerte).
  800.  
  801. ARexx-Makros aufrufen
  802.  
  803.   Es gibt drei Möglichkeiten, externe ARexx-Makros aufzurufen:
  804.    · Die Befehle RX, RX1, RX2 rufen das als erstes Argument übergeben
  805.      ARexx-Makro mit keinem, einem oder zwei Argumenten auf. Wollen
  806.      sie mehr Argumente übergeben, benutzen Sie einfach RX1 und setzen
  807.      alle Argumente in Klammern. Bsp.:
  808.           rx  demo
  809.           rx1 renumcomproc 119
  810.           rxs DelAllAsterix 23 28
  811.           rx1 MakroMitVielenArgs (1 2 3 4 5 6 7)
  812.  
  813.    · Die zweite Möglichkeit ARexx-Makros aufzurufen ist, den
  814.      Markonamen einfach in der Befehlszeile einzugeben, dahinter die
  815.      Argumente. Stößt AmokEd auf einen Befehl, den er nicht kennt,
  816.      übergibt er ihn als Makro- name an ARexx. Der gesamte Rest der
  817.      Befehlszeile wird als Argument übergeben. Dies funktioniert bei
  818.      Tastenbelegungen genauso, Sie sollten dort aber besser die
  819.      RX-Befehle explizit benutzen. Bsp.:
  820.           MakroMitVielenArgs 1 2 3 4 5 6 7
  821.  
  822.    · Der Befehl RXS erlaubt Ihnen, ARexx-Befehle direkt auszuführen.
  823.      Das Argument wird hierbei nicht als Makroname, sondern als
  824.      Befehlsstring ("stringfile" lt. ARexx-Handbuch) interprettiert
  825.      und direkt ausgeführt. Bsp.:
  826.           rxs (address command 'copy #? ram:')
  827.  
  828.    Von den ARexx-Makros aus können Sie die Befehle des AmokEd wie
  829.   gewohnt benutzen. Anhand es Rückgabewertes rc (in ARexx) können Sie
  830.   feststellen, ob wie gewünschte Funktion erfolgreich war. Mehr
  831.   darüber entnehem Sie bitte der gesonderten Dokumentation Über die
  832.   Applikation-Programmierung.
  833.  
  834. AmokEd über ARexx von außen steuern
  835.  
  836.    AmokEd läßt sich auch von externen ARexx-Makros steuern, die nicht
  837.   von AmokEd aus aktiviert wurden. Dazu muß Ihnen (bzw. dem Makro)
  838.   lediglich bekannt sein, wie der ARexx-Port des AmokEd heißt, an den
  839.   sie senden wollen. Der Port-Name ist in der Variablen $rexxport
  840.   gespeichert, da er von der Task-Adresse abhängig ist.
  841.    Wenn sie nur einen AmokEd aktiv und die RexxArpLib installiert
  842.   haben, können sie mit
  843.      rxs (setenv rexxport $rexxport)
  844.   den Port-Namen als ARexx-Enviroment-Variable istallieren.
  845.    Bessere Möglichkeiten bietet der Einsatz von Applikationen (siehe
  846.   unten).
  847.  
  848.  Es gibt zwei spezielle ARexx-Befehle, die nur über den ARexx-Port
  849. funktionieren:
  850.  
  851. GetVal    - Liefert den die angegebene Variable zurück
  852.             Bsp: der AEd-Befehl
  853.               rxs (options results; getval $rexxport; say result)
  854.               gibt den Name des AEd-Rexx-Ports im Rexx-StdOut aus.
  855.  
  856. QuitQuit  - Beendet die aktuellen Texteingabe, auch wenn der Text
  857.             geändert wurde
  858.  
  859.             Es ist nicht möglich, AmokEd von ARexx aus mit Senden von zwei
  860.             'quit' Befehlen zu beenden, wenn der Text geändert wurde. ARexx
  861.             erhält immer RC 5.
  862.  
  863.             ACHTUNG: Der aktuelle Text wird beendet, auch wenn er geändert
  864.                      und noch nicht abgespeichert ist.
  865.  
  866.    Weitere Informationen über den Einsatz von AReex in AmokEd
  867.   entnehmen Sie bitte der gesonderten ARexx-Dokumentation.
  868.  
  869.  
  870.                  --------------------------------
  871.           ----------           VII            ----------
  872.           ----------   Der Application-Port   ----------
  873.                  --------------------------------
  874.  
  875.  Eine weitere hervoragende Eigenschaft von AmokEd ist der
  876. Applikation-Port. Über diesen Port auf ARexx-Basis können Anwendungen
  877. eine enge Bindung an AmokEd erreichen.
  878.  Eine Applikation muß sich selbst bei AmokEd anmelden. Hierzu benötigt
  879. sie den Portnamen, über den sie mit AmokEd kommunizieren kann. Dieser
  880. Portname ist über die Variable $rexxport erreichbar.
  881.  
  882.  Eine Applikation von AmokEd aus zu starten, ist ganz einfach:
  883.  Bsp.:
  884.       execute (run <nil: >nil: AmokEd:ApplDemo $rexxport)
  885.  
  886.       Wichtig ist hierbei, daß Sie die Applikation als eigene Task
  887.       starten, da sich das System sonst aufhängt.
  888.  
  889.  Die Applikation meldet sich nun bei AmokEd an und teilt ihm mit,
  890. unter welchen Applikations-Namen sie zu erreichen ist.
  891.  Ist dies geschehen, so kann sie sehr einfach genutzt werden:
  892.   · Geben Sie den Applikations-Name einfach in der Befehlszeile ein.
  893.     Der Rest der Zeile wird der Applikation als Argumetn mitübergeben.
  894.   · Mit dem Befehl `APPL' können Sie wir mit dem Befehl RX1 eine
  895.     Applikation mit einem Argument aufrufen.
  896.      Wenn Sie Applikationen in Makros nutzen, sollten sie diesen Befehl
  897.     nehmen.
  898.  
  899.   Bsp.:
  900.         ApplDemo Hallo Du!
  901.         appl ApplDemo (Hallo Du!)
  902.  
  903.  Genaueres ist von der eingesetzten Appliktion abhängig. Liesen Sie hierzu
  904. dir Dikomentaion der Appliketion.
  905.  
  906.  Alles weitere über Applikationen - Programmierung etc. - entnehmen Sie
  907.  bitte der gesonderten Dokumentation.
  908.  
  909. ---------------------------------------------------------------------------
  910.  Sorry, wenn die deutsche Dokumentation etwas holprig klingt. Aber
  911. manche Sachen lassen sich in Englich schöner ausdrücken.
  912.  Ich werde, wenn ich mal Zeit hab, auch eine vollkommen neue Doku
  913. schreiben, da ich von Freunden weiß, das diese nicht so gut ist (insb.
  914. zum nachschlagen).
  915.  Wie gesagt: Vorläufige Dokumentation!
  916.  
  917. -- hartmut
  918. ---------------------------------------------------------------------------
  919. Release Notes:
  920.  
  921. Bedeutung: + hinzugekommen, - entfernt, ^ Funktion verbessert
  922.  
  923.  V1.02b - 21 Oct 1991
  924.    - Bug in ArpLoad (File/path-Split)
  925.  
  926.  V1.02 - 19 Oct 1991
  927.    · ältere Release Notes gelöscht
  928.  
  929.